回顾:上一文对Docker做了一些介绍,解释了相关概念,如Docker客户端等,还通过对比Docker与虚拟机的差别了解到Docker的优势与特点。最后介绍了Docker在3大主流操作系统的安装方法。
本文将在安装好的Docker环境下使用Docker命令行客户端开始学习Docker常用指令。
Docker镜像常用操作
罗列镜像
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
这时只看到列表标题,并没有内容。因为这里罗列只是本地的Docker镜像。
搜索镜像
从Docker Hub搜索tomcat镜像:
$ docker search tomcat
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
tomcat Apache Tomcat is an open source implementati… 1847 [OK]
tomee Apache TomEE is an all-Apache Java EE certif… 51 [OK]
dordoka/tomcat Ubuntu 14.04, Oracle JDK 8 and Tomcat 8 base… 49 [OK]
以上表格中包含5个字段,意义如下:NAME
:表示镜像名字,名称不带“/”表示官方发布仓库,否则代表是其他用户二次发布。 DESCRIPTION
:表示镜像描述信息 STARS
:表示镜像的收藏数,用户可以登录Docker Hub对镜像进行收藏,这个数字类似github上的star,数量代表欢迎程度OFFICIAL
:官方标识,值为[OK]AUTOMATED
:表示是否自动构建,代码托管在Github,代码提交后自动构建镜像
拉取镜像
现在把tomcat镜像从Docker Hub拉取到本地,执行:
$ Docker pull tomcat
Using default tag: latest
latest: Pulling from library/tomcat
cc1a78bfd46b: Downloading [===> ] 2.759MB/45.32MB
6861473222a6: Downloading [============> ] 2.637MB/10.77MB
7e0b9c3b5ae0: Downloading [======================================> ] 3.341MB/4.336MB
ae14ee39877a: Waiting
8085c1b536f0: Waiting
6e1431e84c0c: Waiting
ca0e3df5a1fd: Waiting
d2cb611ced6c: Waiting
268dc3e43e66: Waiting
79a7e8d254c7: Waiting
5c848af92738: Waiting
789b92e37607: Waiting
此时如果执行ctrl + c
将会中断拉取镜像。静静等待镜像拉取完成,然后罗列本地镜像将看到本地镜像已经有了刚刚拉取的tomcat镜像,执行:
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
tomcat latest ee178a5b0d64 2 weeks ago 563MB
以上表格中包含5个字段,意义如下:REPOSITORY
:表示镜像仓库 TAG
:表示镜像版本信息 IMAGE ID
:表示本地唯一序列标识,默认显示12位,实际长度是64位CREATED
:镜像创建的时间,使用距离当前的时间来表示SIZE
:表示镜像的大小
Docker容器常用操作
创建并启动容器
$ docker run -i -t tomcat /bin/bash
查看容器进程
$ docker ps
进入容器
$ docker attach 12awavsav
执行命令
$ docker exec -i -t 12awavsav ls -l
停止容器
$ docker stop 12awavsav
终止容器
$ docker kill 12awavsav
启动容器
$ docker start 12awavsav
重启容器
$ docker restart 12awavsav
删除容器
$ docker rm 12awavsav
导出容器
$ docker export 12awavsav > tomcat.tar.gz
导入容器
$ docker import 12awavsav aron/tomcat:latest
Docker命令汇总
Docker命令行客户端命令有几十个,没数错的话是41个,全部记住也不太现实,记不住的时候可以查看帮助,执行:
$ docker --help
以下是命令汇总,方便翻阅记忆与理解。
attach 进入运行中的容器
build 从Dockerfile创建镜像
commit 基于一个容器的修改,创建一个容器(自制容器)
cp 容器与本地文件的拷贝
create 创建一个新的容器,不启动
deploy Deploy a new stack or update an existing stack
diff 审查容器文件/目录的变更情况
events 从服务器上获取实时事件
exec 在运行中的容器中执行命令
export 将容器导出为tar文件
history 显示镜像历史
images 罗列本地容器
import 从tar文件中导入来创建镜像
info 获取Docker 引擎的信息
inspect 获取Docker引擎和容器的信息
kill 终止运行中的容器
load 载入tar文件或其他标准输入的文件
login 登录Docker registry
logout 注销Docker registry
logs 查看容器日志
pause 暂停容器所有进程
unpause 恢复容器所有进程
port 获取容器端口映射情况
ps 列出容器
pull 从docker注册中心拉取镜像
push 推送镜像到docker镜像中心
rename 容器重命名
restart 重启容器
rm 删除容器
rmi 删除镜像
run 在容器中运行命令
save 将一个或者多个镜像保存到tar文件
search 从Docker Hub搜索镜像
start 启动容器
stats 显示容器资源使用的统计信息
stop 停止一个或者多个容器
tag 给指定的容器添加标签
top 显示容器运行中的所有线程
update 更新一个或多个容器的配置信息
version 显示docker版本信息
wait 等待容器停止,随后输出退出吗
总结
通过本章学习了docker常用的命令,以及部分指令的实操。最后给出了所有的docker的命令清单。后续可随时翻看。
作者推荐:SSM开源开发框架
ifast是一款基于Spring Boot + Mybatis + Mybatis Plus搭建的快速开发平台。ifast集成了代码生成器,具有高效的开发效率。以Spring Boot为基础框架,Mybatis plus为数据访问层, Apache Shiro为权限授权层,Ehcahe对常用数据进行缓存,基于Bootstrap构建的hplus作为前端框架。
访问请点击 Java快速开发脚手架 ifast
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。